// 导出一个配置对象，用于Babel转译器配置
module.exports = {
  // 指定源代码的类型为不含歧义的，避免解析错误
  sourceType: 'unambiguous',
  // 添加Babel插件，用于支持新的JavaScript语法特性
  plugins: [
    '@babel/plugin-proposal-nullish-coalescing-operator',
    '@babel/plugin-proposal-optional-chaining'
  ],
  // 设置Babel预设，定义开发环境和生产环境的转译规则
  presets: [
    // 使用Vue CLI的Babel预设，针对Vue项目进行优化
    '@vue/cli-plugin-babel/preset',
    // 使用@babel/preset-env预设，根据目标环境自动选择需要的polyfills
    [
      '@babel/preset-env',
      {
        // 按需加载polyfills，仅包含使用的原生方法
        useBuiltIns: 'usage',
        // 指定使用的Core-js版本
        corejs: 3
      }
    ]
  ]
}

